﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
//using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace iri10
{
    public partial class frmSeleccionarPcBase : Form
    {
        public frmSeleccionarPcBase()
        {
            InitializeComponent();
        }

        private void frmSeleccionarPcBase_Load(object sender, EventArgs e)
        {
            //Busco las pcs del tipo que seleccionó el usuario, que se encuentra en pcActual
            Computadora[] modelos = NegBase.getBasesDisponibles(pcActual.PcActual);

            //cargo los modelos
            lstModelos.Items.AddRange(modelos);

            //
            lblPrecio.Text = "";
        }

        private void lstModelos_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (lstModelos.SelectedIndex == -1)
            {
                lblPrecio.Text = "";
                return;
            }

            lblPrecio.Text = "$ " + ((Computadora)lstModelos.SelectedItem).FPrecio;

            //Muestra los componentes de la pc
            lstComponentes.Items.Clear();
            lstComponentes.Items.AddRange(((Computadora)lstModelos.SelectedItem).CompModificable);
            lstComponentes.Items.AddRange(((Computadora)lstModelos.SelectedItem).CompEliminable);
            lstComponentes.Items.AddRange(((Computadora)lstModelos.SelectedItem).CompObligatorios);
        }

        private void picNext_Click(object sender, EventArgs e)
        {
            if (lstModelos.SelectedIndex == -1)
            {
                MessageBox.Show("Debe seleccionar un modelo antes de poder personalizarla", "Selección de modelo base", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }

            //Creo una copia de la pc base seleccionada y la coloco en pcactual
            pcActual.PcActual = Computadora.copiarPc((Computadora)lstModelos.SelectedItem);

            NegVentanas.showPersonalizar();

        }

        private void picBack_Click(object sender, EventArgs e)
        {
            NegVentanas.showSeleccionarTipo();
        }

        private void frmSeleccionarPcBase_Shown(object sender, EventArgs e)
        {
            //201 - 105
            Point p = new Point();
            p.X = 201;
            p.Y = -Height;

            for (int iCont = 0; iCont <= 15; iCont++)
            {
                p.Y += (105 + this.Height) / 15;
                this.Location = p;
                Application.DoEvents();
            }
        }

        public void ocultar()
        {
            Point p = new Point();
            p.X = 201;
            p.Y = Location.Y;

            for (int iCont = 25; iCont >= 0; iCont--)
            {
                p.Y -= (201 + this.Height) / 25;
                this.Location = p;
                Application.DoEvents();
            }
        }

        private void frmSeleccionarPcBase_FormClosing(object sender, FormClosingEventArgs e)
        {
            ocultar();
        }
    }
}
